The present invention relates generally to computer database queries, and more specifically, to producing semantic queries by example for extracting information from a computer database and an associated ontology.
A relational database organizes information using a relational model or schema to group data with common attributes into data sets. For example, a table of high-level student information may link to a table of addresses using identifier fields as keys to establish relationships between rows or tuples in each table. Thus, if multiple students share a common address, the common address need not be repeated multiple times in the table of high-level student information; rather, primary and foreign keys linking the tables can convey a many-to-one relationship between the multiple students and the common address.
An ontology is a formal representation of a set of concepts within a domain and the relationships between the concepts that may be used to reason about domain properties. An ontology associated with the information organized in a relational database is typically more complex than the structure of the relational database, as the ontology represents a graph structured model of knowledge that may be captured within the relational database.
A semantic query attempts to assist a user in obtaining or manipulating data within a database without requiring user knowledge of data organization. Incorporating the knowledge of a related ontology into defining the semantic query can enhance search results. For instance, a query of patient data in medical records for a precise diagnosis may yield only a handful of results, but if the query is extended to include synonyms and related terminology as defined in the related ontology, a richer and more meaningful data set can be returned.